// 封装倒计时逻辑函数
import { computed, onUnmounted, ref } from "vue"
import dayjs from "dayjs"   // npm i dayjs


export const useCountDown = () => {
    let timer = null
    // 1.响应式数据
    const time = ref(0)
    // 格式化时间 xx分xx秒
    const formatTime = computed(() => dayjs.unix(time.value).format('mm分ss秒'))
    // 2.开启倒计时函数
    const start = (currentTime) => {
        // 开始倒计时核心逻辑
        // 逻辑: 每隔1s减1
        time.value = currentTime
        // 定时器
        timer = setInterval(() => {
            time.value--
        }, 1000)
    }

    // 组件卸载时清除定时器
    onUnmounted(() => {
        timer && clearInterval(timer)
    })
    return {
        formatTime,
        start
    }

}